<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Skynet.BusinessEntities" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Skynet.BusinessEntities" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost/Skynet.WebHost/SkynetLibraryService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="ArrayOfExamCategory">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ExamCategory" nillable="true" type="tns:ExamCategory" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfExamCategory" nillable="true" type="tns:ArrayOfExamCategory" />
  <xs:complexType name="ExamCategory">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Exams" nillable="true" type="tns:ArrayOfExam" />
      <xs:element minOccurs="0" name="Id" type="ser:guid" />
      <xs:element minOccurs="0" name="OptimisticId" nillable="true" type="ser:guid" />
      <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="ExamCategory" nillable="true" type="tns:ExamCategory" />
  <xs:complexType name="ObjectChangeTracker">
    <xs:sequence>
      <xs:element minOccurs="0" name="ExtendedProperties" nillable="true" type="tns:ExtendedPropertiesDictionary" />
      <xs:element minOccurs="0" name="ObjectsAddedToCollectionProperties" nillable="true" type="tns:ObjectsAddedToCollectionProperties" />
      <xs:element minOccurs="0" name="ObjectsRemovedFromCollectionProperties" nillable="true" type="tns:ObjectsRemovedFromCollectionProperties" />
      <xs:element minOccurs="0" name="OriginalValues" nillable="true" type="tns:OriginalValuesDictionary" />
      <xs:element minOccurs="0" name="State" type="tns:ObjectState" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="ObjectChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
  <xs:complexType name="ExtendedPropertiesDictionary">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ExtendedProperties">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Name" nillable="true" type="xs:string" />
            <xs:element name="ExtendedProperty" nillable="true" type="xs:anyType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ExtendedPropertiesDictionary" nillable="true" type="tns:ExtendedPropertiesDictionary" />
  <xs:complexType name="ObjectsAddedToCollectionProperties">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AddedObjectsForProperty">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CollectionPropertyName" nillable="true" type="xs:string" />
            <xs:element name="AddedObjects" nillable="true" type="tns:ObjectList" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ObjectsAddedToCollectionProperties" nillable="true" type="tns:ObjectsAddedToCollectionProperties" />
  <xs:complexType name="ObjectList">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ObjectValue" nillable="true" type="xs:anyType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ObjectList" nillable="true" type="tns:ObjectList" />
  <xs:complexType name="ObjectsRemovedFromCollectionProperties">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="DeletedObjectsForProperty">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CollectionPropertyName" nillable="true" type="xs:string" />
            <xs:element name="DeletedObjects" nillable="true" type="tns:ObjectList" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ObjectsRemovedFromCollectionProperties" nillable="true" type="tns:ObjectsRemovedFromCollectionProperties" />
  <xs:complexType name="OriginalValuesDictionary">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="OriginalValues">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Name" nillable="true" type="xs:string" />
            <xs:element name="OriginalValue" nillable="true" type="xs:anyType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OriginalValuesDictionary" nillable="true" type="tns:OriginalValuesDictionary" />
  <xs:simpleType name="ObjectState">
    <xs:list>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="Unchanged" />
          <xs:enumeration value="Added" />
          <xs:enumeration value="Modified" />
          <xs:enumeration value="Deleted" />
        </xs:restriction>
      </xs:simpleType>
    </xs:list>
  </xs:simpleType>
  <xs:element name="ObjectState" nillable="true" type="tns:ObjectState" />
  <xs:complexType name="ArrayOfExam">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Exam" nillable="true" type="tns:Exam" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfExam" nillable="true" type="tns:ArrayOfExam" />
  <xs:complexType name="Exam">
    <xs:sequence>
      <xs:element minOccurs="0" name="Attach" nillable="true" type="xs:base64Binary" />
      <xs:element minOccurs="0" name="CategoryExamId" type="ser:guid" />
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="ExamByCustomers" nillable="true" type="tns:ArrayOfExamByCustomer" />
      <xs:element minOccurs="0" name="ExamCategory" nillable="true" type="tns:ExamCategory" />
      <xs:element minOccurs="0" name="Id" type="ser:guid" />
      <xs:element minOccurs="0" name="Questions" nillable="true" type="tns:ArrayOfQuestion" />
      <xs:element minOccurs="0" name="Summary" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="Exam" nillable="true" type="tns:Exam" />
  <xs:complexType name="ArrayOfExamByCustomer">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ExamByCustomer" nillable="true" type="tns:ExamByCustomer" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfExamByCustomer" nillable="true" type="tns:ArrayOfExamByCustomer" />
  <xs:complexType name="ExamByCustomer">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="Customer" nillable="true" type="tns:Customer" />
      <xs:element minOccurs="0" name="CustomerId" type="ser:guid" />
      <xs:element minOccurs="0" name="Duration" type="xs:short" />
      <xs:element minOccurs="0" name="Exam" nillable="true" type="tns:Exam" />
      <xs:element minOccurs="0" name="ExamId" type="ser:guid" />
      <xs:element minOccurs="0" name="Id" type="ser:guid" />
      <xs:element minOccurs="0" name="Score" type="xs:double" />
      <xs:element minOccurs="0" name="Status" type="xs:short" />
      <xs:element minOccurs="0" name="ValidFrom" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ValidTo" type="xs:dateTime" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="ExamByCustomer" nillable="true" type="tns:ExamByCustomer" />
  <xs:complexType name="Customer">
    <xs:sequence>
      <xs:element minOccurs="0" name="BirthDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="DocIden" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ExamByCustomers" nillable="true" type="tns:ArrayOfExamByCustomer" />
      <xs:element minOccurs="0" name="Id" type="ser:guid" />
      <xs:element minOccurs="0" name="LastName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MobilePhone" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PhotoId" nillable="true" type="ser:guid" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="Customer" nillable="true" type="tns:Customer" />
  <xs:complexType name="Question">
    <xs:sequence>
      <xs:element minOccurs="0" name="Alternatives" nillable="true" type="tns:ArrayOfAlternative" />
      <xs:element minOccurs="0" name="Category" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="Data" type="ser:guid" />
      <xs:element minOccurs="0" name="Exam" nillable="true" type="tns:Exam" />
      <xs:element minOccurs="0" name="ExamId" type="ser:guid" />
      <xs:element minOccurs="0" name="Id" type="ser:guid" />
      <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TypeId" type="ser:guid" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="Question" nillable="true" type="tns:Question" />
  <xs:complexType name="ArrayOfAlternative">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Alternative" nillable="true" type="tns:Alternative" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAlternative" nillable="true" type="tns:ArrayOfAlternative" />
  <xs:complexType name="Alternative">
    <xs:sequence>
      <xs:element minOccurs="0" name="Answer" type="ser:guid" />
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="Data" type="ser:guid" />
      <xs:element minOccurs="0" name="Id" type="ser:guid" />
      <xs:element minOccurs="0" name="Question" nillable="true" type="tns:Question" />
      <xs:element minOccurs="0" name="QuestionId" type="ser:guid" />
      <xs:element minOccurs="0" name="Score" type="xs:double" />
      <xs:element minOccurs="0" name="TypeId" type="ser:guid" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="Alternative" nillable="true" type="tns:Alternative" />
  <xs:complexType name="ArrayOfQuestion">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Question" nillable="true" type="tns:Question" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfQuestion" nillable="true" type="tns:ArrayOfQuestion" />
</xs:schema>